System and method for focused navigation within a user interface

ABSTRACT

A sequence of cards is stored that graphically represents available options within an information system. In response to a single user action, the sequence of cards is successively displayed within a focus area of the user interface. In response to a subsequent user action, the successive display is discontinued to display a particular card representing a selected option.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.11/519,521, filed Sep. 12, 2006, for “System and Method for FocusedNavigation within a User Interface,” now U.S. Pat. No. 7,574,656, whichis a continuation of U.S. patent application Ser. No. 10/138,810, filedMay 3, 2002, for “System and Method for Focused Navigation within a UserInterface,” now U.S. Pat. No. 7,107,532, which claims priority from U.S.Provisional Application No. 60/315,731, filed Aug. 29, 2001, for “Systemand Method for Visual Channel Surfing,” and also claims priority fromU.S. Provisional Application No. 60/317,612, filed Sep. 6, 2001, for“System and Method for Visual Channel Surfing,” and further claimspriority from U.S. Provisional Application No. 60/324,997, filed Sep.26, 2001, for “System and Method for Visual Channel Surfing UsingCenter-Focused Navigation.” All of the foregoing applications are herebyincorporated by reference.

FIELD OF THE INVENTION

The present invention relates generally to the field of informationsystems. More specifically, the present invention relates to a systemand method for focused navigation within a user interface of aninformation system.

DESCRIPTION OF THE RELATED ART

Recent advances in technology have vastly increased the number ofavailable options within personal computers (PCs), interactivetelevision (ITV) systems, personal digital assistants (PDAs), cellulartelephones, and other information systems. For instance, current ITVsystems offer hundreds of broadcast channels and a variety ofinteractive options, including e-mail, videoconferencing, instantmessaging, online banking, online purchasing, and so forth.

Unfortunately, despite technological advances, user interfaces for thesesystems have remained largely unchanged, making navigation through allof the newly available options no easy task. For example, a user of amodern ITV system must scan through potentially hundreds of channels andother options, often by repeatedly pressing a button on a remotecontrol. Such an outdated approach is far too slow and inconvenient tofacilitate effective operation of a modern ITV system.

Similar problems exist with PC interfaces. The graphical user interface(GUI) of a modern PC looks remarkably similar to the first GUI developedtwenty years ago. Small icons representing user options are arranged inrows and columns on a graphical representation of a desktop. Many of theicons are identical, requiring the addition of text labels as adistinguishing feature. Typically, a user must individually examine eachicon and read each label—a time-consuming process that does not lenditself to effective navigation of the numerous options available in amodern PC.

Accordingly, it would be an advancement in the art to provide a userinterface that allows for rapid and efficient navigation of a pluralityof options without the drawbacks of conventional approaches.

BRIEF DESCRIPTION OF THE DRAWINGS

Non-exhaustive embodiments of the invention are described with referenceto the figures, in which:

FIG. 1 is a block diagram of an ITV system;

FIG. 2 is an illustration of a plurality of cards;

FIGS. 3-11 are illustrations of various techniques for focusednavigation of a plurality of options within a user interface;

FIG. 12 is a timing diagram for displaying a sequence of cards;

FIG. 13 is a schematic block diagram of a set-top box (STB);

FIG. 14 a flowchart of a method for focused navigation of a plurality ofoptions within a user interface.

DETAILED DESCRIPTION

Reference throughout this specification to “one embodiment” or “anembodiment” means that a particular described feature, structure, orcharacteristic is included in at least one embodiment of the presentinvention. Thus, appearances of the phrases “in one embodiment” or “inan embodiment” in various places throughout this specification are notnecessarily all referring to the same embodiment.

Furthermore, the described features, structures, or characteristics maybe combined in any suitable manner in one or more embodiments. In thefollowing description, numerous specific details are provided, such asexamples of programming, software modules, user selections, networktransactions, database queries, database structures, etc., to provide athorough understanding of embodiments of the invention. One skilled inthe relevant art will recognize, however, that the invention can bepracticed without one or more of the specific details, or with othermethods, components, materials, etc. In other instances, well-knownstructures, materials, or operations are not shown or described indetail to avoid obscuring aspects of the invention.

While the following description makes particular reference to ITVsystems, it should be recognized that the present invention may be usedin conjunction with any type of information system in which selectableoptions may be displayed on a display screen. Examples of suchinformation systems include, but are not limited to, ITV systems,personal computers, and mobile computing devices, such as PDAs, webpads,cellular telephones, and the like.

Referring now to FIG. 1, there is shown a block diagram of an ITV system100 according to an embodiment of the invention. In one configuration,the ITV system 100 includes a television (TV) 102 or other displaydevice having a display screen 104, a set-top box (STB) 106, and aremote control 108.

The STB 106 serves as a gateway between the TV 102 and a broadbandcommunication network (not shown), such as a cable television network ora direct broadcast satellite (DBS) network. One commercially-availableexample of an STB 106 is the Motorola DCT5000® interactive set-topterminal.

The STB 106 receives encoded television signals and other data from thebroadband network and processes the same for display on the displayscreen 104. The STB 106 may also include hardware and software forpresenting a graphical user interface (GUI) 110 on the display screen104 for operating the various functions and services of the STB 106. Inalternative embodiments, the STB 106 may be integrated into the TV 102or may be embodied within a personal computer (PC), mobile computingdevice, or the like.

The remote control 108 is provided for convenient remote operation ofthe STB 106 and the TV 102. The remote control 108 may include awireless transmitter 112 for transmitting control signals to a wirelessreceiver 114 within the STB 106 using radio frequency (RF) or infrared(IR) techniques.

In addition, the remote control 108 may include a number of buttons orother similar controls. For instance, the remote control 108 may includean “Up” button 116, a “Down” button 118, a “Left” button 120, a “Right”button 122, and a “Select” button 124. In an embodiment, the remotecontrol 108 may further include a “Forward” button 126 and a “Backward”button 128. Of course, a variety of other buttons or controls may beprovided within the scope of the invention. In alternativeimplementations, the remote control 108 may be embodied as a keyboard,mouse, or other suitable input device.

As noted, an ITV system 100 typically provides access to a plurality ofselectable options, such as channels, programs, applications, digitalmedia files, etc. For instance, an ITV system 100 may provide access toliterally hundreds of broadcast TV channels, pay-per-view (PPV)channels, music channels, and the like. Additionally, an ITV system 100may provide access to a number of interactive channels or applications,including web browsers, e-mail programs, chat clients, personal videorecorder (PVR) applications, contact directories, and the like.Furthermore, an ITV system 100 may store or provide access to stored PVRrecordings, digital photographs, audio (MP3) files, or other forms ofdigital media.

As shown in FIG. 2, each selectable option within the ITV system 100 maybe associated with a card 200. A card 200 is an object or other suitabledata structure that provides information about and/or access to anavailable option within an ITV system 100. A card 200 may be a containerof all of the attributes, actions, and/or states needed to facilitateinteraction with the option represented thereby. Cards 200 may be storedin any suitable format within a memory or disk drive of the ITV system100.

Each card 200 may include a graphical representation 202 for display inthe GUI 110, as described in detail below. The graphical representation202 may include various types or combinations of artwork, digitalphotography, captured video frames, animations, or the like.

As depicted in FIG. 2, cards 200 a-c may be used to represent televisionprograms or channels. The television programs may be ongoing (live),upcoming, or previously-recorded as of the time of review by a user ofcards 200. In addition to a graphical representation 202, such cards 200may include but not necessarily display, for instance, a channel number204, a channel name or identifier 206, a starting time 208, a runningtime 210, and a text description 212. In one embodiment, and as analternative or in addition to the starting time 208 and running time210, cards 200 may include a time slot 214. Of course, cards 200representing other types of options may include additional or differenttypes of information, such as audio/video clips, file or path names,network addresses (URLs), etc.

The graphical representations 202 associated with cards 200 may havedifferent levels of specificity or granularity. For instance, agraphical representation 202 a may correspond generally to a televisionseries, e.g., “3^(rd) Rock from the Sun,” while another graphicalrepresentation 202 b may correspond to a television programming sourcesuch as a television station, e.g., “TBS,” or network, e.g., “CBS.” Inother embodiments, a graphical representation 202 may correspond to aspecific episode of a television series (e.g., a series premier), oreven a product (purchase opportunity) associated with the televisionprogram. In still other embodiments, a generic graphical representation202 may be provided, which may be overlaid by the channel number 204,text description 212, or other information, where a more specific card200 is not available.

Cards 200 may be generated locally within an ITV system 100 or may bereceived via the broadband network using HTTP (hypertext transferprotocol), FTP (file transfer protocol), ATVEF (advanced televisionenhancement forum) triggers or other well-known protocols or techniques.In one embodiment, a card 200 may be received with data encoded in thevertical blanking interval (VBI) of a television signal. Additionally,information associated with cards 200 (e.g., channel number 204,starting time 208, running time 210) may be dynamically updated withinformation received in ATVEF triggers.

Referring to FIG. 3, a plurality of cards 200 may be arranged or groupedtogether in a package or sequence 300. The sequence 300 may be circular(as depicted), linear, or configured in other ways. The sequence 300 maybe arranged in numerical order by channel number 204, in alphabeticalorder by the text description 212, or in other preset or user-definedways.

In the illustrated embodiment, one card 200 a in the sequence 300 isactive or in “focus.” As shown, the active card 200 a may be displayedwithin a focus area 302 of a GUI 110 displayed on the TV 102. Forbrevity, the phrase “displaying a card” refers herein to displaying, orpresenting as output to a display device, a graphical representation 202associated with the card 200. Other information associated with thecard, e.g., the channel number 204 or text description 212, may or maynot be displayed.

A focus area 302 is a single location of the GUI 110 at which the cards200 are successively displayed (i.e., displayed one at a time in anydirection along a sequence). The focus area 302 may be located at acentral or visually dominant location of the GUI 110, although theinvention is not limited in this respect. As used herein, the term“focused navigation” refers to a technique of displaying a sequence(e.g., sequence 300) of cards 200 within a focus area 302.

In response to a single user action, the cards 200 in a sequence 300 aresuccessively displayed within the focus area 302. Where the sequence 300is circular, the successive display of cards 200 may continueindefinitely until halted by the user by a subsequent action, asdescribed more fully below.

The single user action to initiate navigation may be pressing (orpressing and holding down) a button on the remote control 108. Forexample, the user may press the “Up” button 116 to initiate thesuccessive display in a first direction within the sequence 300(indicated by line 304), and press the “Down” button 118 to initiatenavigation in the opposite direction (indicated by line 306).Alternatively, the user may speak a command into a microphone (eitherwithin the STB 106 or remote control 108) to initiate navigation.Alternatively, the STB 106 or remote control 108 may incorporate one ormore sensors that allow a user to navigate the cards 200 using bodilygestures. Such or similar sensors may further allow a user to invoke theGUI 110 using bodily gestures. Alternatively, the STB 106 or remotecontrol 108 may incorporate one or more sensors that receive andinterpret electromagnetic signals generated by the body of a user inorder to navigate the cards 200. Alternatively, the ITV system 100 maybe configured such that navigation of cards 200 may be accomplished bytouching or otherwise physically contacting the display screen 104. Ofcourse, the user action may be performed in a variety of other wayswithin the scope of the invention.

In one embodiment, the sequence 300 of cards 200 is successivelydisplayed at a rate selected by the user. For instance, initiallypressing the “Up” button 116 may cause the sequence 300 to be displayedat a rate of two cards 200 per second. As the user continues to hold the“Up” button 116, the rate may increase gradually or in steps to anypractical rate within the limit of a typical user's ability to recognizeindividual cards 200 when they are displayed. Many users are able torecognize individual cards 200 at a rate of seven or more cards 200 persecond (420 per minute), facilitating rapid navigation of availableoptions.

The cards 200, when displayed within the focus area 302, may besufficiently large to permit user recognition from a comfortable viewingdistance for the particular display screen 104. Thus, unlike PC icons,which typically occupy as little as 1/200 of the display area of thedisplay screen 104, the displayed cards 200 (and the card 200 in thefocus area 302 in particular) may occupy between 1/10 and ¼ of the totaldisplay area.

When the user sees displayed a card 200 of a channel or option that shedesires to select or view, the user may take some additional action andthe successive display of cards 200 is halted. For example, wherenavigation was initiated by pressing and holding down the “Up” button116, the user may release the “Up” button 116 to discontinue navigation.In an alternative embodiment, where the successive display was initiatedsimply by pressing a button, the user may press the same or a differentbutton to halt the successive display. Of course, the user maydiscontinue navigation in a variety of other ways within the scope ofthe invention.

If the user's reaction time is fast enough, the card 200 representingthe desired channel remains displayed in the focus area 302 oncenavigation is discontinued. However, the user's reaction time may not befast enough and one or more cards 200 may be subsequently displayed. Insuch a case, the user may manually backtrack to the desired card 200 byrepeatedly activating a suitable control on the remote control 108. Forexample, briefly pressing the “Up” or “Down” buttons 116, 118 may resultin the previous or next card 200, respectively, being displayed.Alternatively, as described in greater detail below, the ITV system 100may attempt to determine the delay between the user recognizing thedesired card 200 and taking the subsequent action and compensate forthat delay by reverting to a previously-displayed card 200.

The user may select the channel or option associated with the displayedcard 200 by taking a selection action. For instance, the user may pressthe “Select” button 124 on the remote control. Alternatively, theselection action may simply be waiting a set amount of time withoutactivating any controls on the remote control 108.

The effect of activating the card 200 will vary depending on the type ofcard 200. For instance, in the case of a card 200 representing a livetelevision program, the GUI 110 may be replaced by a full-size versionof the program. Alternatively, activating a card 200 corresponding to apurchase opportunity may result in the display of a web browser directedto a particular website.

As shown in FIG. 4, one or more previous and next cards 200 within thesequence 300 may be displayed along an axis of the GUI 110 to providethe user with a more complete navigational context within the sequence300. For example, at least a subset of the sequence 300 of cards 200 maybe displayed along a vertical axis, with the active card 200 a beingdisplayed in the focus area 302. In alternative embodiments, the cards200 may be displayed along horizontal or diagonal axes, or in othersuitable ways.

Typically, one or more cards 200 in a sequence 300 are not displayed.These off-screen or hidden cards may be dynamically changed, replaced,or updated during navigation, e.g., a card 200 representing anadvertisement may change from one sponsor to another.

When a user activates one of the navigation buttons of the remotecontrol 108 (e.g., the “Up” or “Down” buttons 116, 118), the displayedcards 200 in the sequence 300 may appear to shift or cycle downward orupward, respectively, with a new card (e.g., card 200 c or 202 f)entering the focus area 302. Alternatively, the “Left” or “Right” button120, 122 may be used for the same purpose.

As depicted, the card 200 a in the focus area 302 may be visuallyemphasized in various ways. For example, the card 200 a may be enlargedrelative to the other displayed cards 200. Alternatively, the card 200 amay be animated, marked, illuminated, highlighted, or otherwise setapart from the other cards 200.

In certain embodiments, if the user allows a card 200 representing alive television program to remain in the focus area 302 for a certainamount of time (e.g., 2 seconds), the card 200 a may be overlaid by avideo window 402 showing the live television program. Furthermore, ifthe user continues to linger on the card 200 a (or if the user pressesthe “Select” button 124), the video window 402 may be enlarged 402 tofill the entire display screen 104. Other types of cards 200 may exhibitdifferent types of behaviors when the card 200 remains in the focus area302 for an established period of time.

Where the cards 200 represent live television programs, a card 200corresponding to the currently-tuned channel (at the current date andtime) may be selected by default for display in the focus area 302 eachtime the GUI 110 is shown. This may occur, for instance, when the useris watching TV and presses a button (such as the “Select” button 124) inorder to display the GUI 110. Additionally, an indication of thecurrently-displayed card 200 in the focus area 302 may be stored innon-volatile memory or otherwise maintained such that if a resetcondition occurs (e.g., the STB 106 is rebooted or reset after a powerloss, etc.) the last-displayed card 200 may be restored to the focusarea 302.

As shown in FIG. 5, cards 200 may include one or more alternativegraphical representations 502, which may be displayed when the card 200enters the focus area 302. As depicted, cards 200 c-f displayed outsideof the focus area 302 are shown using a first graphical representation202 c-f. However, when the card 200 a enters the focus area 302, thealternative graphical representation 502 is shown. Additionally, cards200 outside of the focus area 302 may be displayed in a reduced-sizeformat with text descriptions 212.

Referring to FIG. 6, a plurality of cards 200 may be arranged or groupedtogether in a package or sequence 600. In the illustrated embodiment,the cards 200 n-r in the sequence 600 represent a single televisionnetwork (e.g., CBS), as indicated by the graphical representation 202 b.The cards 200 n-r in the sequence 600 further represent the televisionprograms, as indicated by the text descriptions 212 n-r, carried by therepresented television network. In an alternative embodiment, thegraphical representation 202 b depicting the television networkrepresented by cards 200 may be replaced by or supplemented with agraphical representation 202 of the represented television programs.

The sequence 600 may be circular (as depicted), linear, or configured inother ways. In the illustrated embodiment, the sequence 600 is arrangedin chronological order by time slot 214. Although, as illustrated, thetime slots 214 associated with the sequence 600 range from 3:30 pm to9:00 pm on a single day (e.g., Jan. 20, 2002), such a chronologicalrange can be expanded or contracted in accordance with preset oruser-defined criteria and to the greatest extent practicable.

In the illustrated embodiment, one card 200 n in the sequence 600 isactive or in “focus.” In an embodiment, the card 200 associated with thetime slot 214 corresponding to the current time (i.e., the card 200representing live programming as the user addresses the sequence 600)is, as a default condition, in focus. As shown, the active card 200 nmay be displayed within a focus area 302 of a GUI 110 displayed on theTV 102. Other information associated with the card (e.g., the channelnumber 204 or text description 212) may or may not be displayed.

In response to one or more user actions, the cards 200 in the sequence600 are successively displayed within the focus area 302. Where thesequence 600 is circular, the successive display of cards 200 maycontinue indefinitely until halted by a subsequent action by the user,as described more fully herein.

The user action to initiate navigation may be pressing and releasing (orpressing and holding down) a button on the remote control 108. Forexample, the user may press the “Forward” button 126 repeatedly toeffectuate a corresponding card-by-card (i.e., program-by-program)navigation of sequence 600 in a first direction (indicated by arrow604). In the illustrated embodiment of FIG. 6, pressing the “Forward”button 126 once will, as indicated by arrow 608, supplant within thefocus area 302 the card 200 n with card 200 r representing a later timeslot 214 r. The user may likewise press the “Backward” button 128repeatedly to effectuate a corresponding card-by-card navigation ofsequence 600 in a second direction (indicated by arrow 606). In theillustrated embodiment of FIG. 6, pressing the “Backward” button 128once will, as indicated by arrow 610, supplant within the focus area 302the card 200 n with card 200 o representing an earlier time slot 214 o.

In an embodiment, navigation of sequence 600 may be by preset oruser-defined time slot increments (e.g., 30 minutes, 60 minutes, etc.),rather than the program-by-program navigation discussed above. Inaddition, any one visual feature or combination of visual features(e.g., text description 212, graphical representation 202, time slot214) of cards 200 may change color or otherwise visually convey adifferent time slot state in response to navigation among cards 200. Forexample, the text associated with cards 200 representing earlier timeslots may be in red, text of cards 200 representing current time slotsmay be in green, and text of cards 200 representing later time slots maybe in blue. Of course, audible state indicators may also be used toprovide time slot state information in response to navigation amongcards 200.

In an alternative embodiment, the user may press the “Forward” button126 to initiate a continual successive display in the first directionwithin the sequence 600 (indicated by arrow 604), and press the“Backward” button 128 to initiate a continual successive display in theopposite direction (indicated by arrow 606). Alternatively, the user mayspeak a command into a microphone (either within the STB 106 or remotecontrol 108) to initiate navigation. Of course, the user may initiatenavigation in a variety of other ways within the scope of the invention.

In one embodiment, the sequence 600 of cards 200 is successivelydisplayed at a rate selected by the user in the manner described abovein connection with sequence 300.

When the user sees displayed a card 200 representing a time slot 214and/or programming that she desires to select or view, the user may takesome additional action to halt the successive display of cards 200. Forexample, where navigation was initiated by pressing and holding down the“Forward” button 126, the user may release the “Forward” button 126 todiscontinue navigation. In an alternative embodiment, where thesuccessive display was initiated simply by pressing a button, the usermay press the same or a different button to halt the successive display.Of course, the user may discontinue navigation in a variety of otherways within the scope of the invention.

If the user's reaction time is fast enough, the card 200 representingthe desired channel remains displayed in the focus area 302 oncenavigation is discontinued. However, the user's reaction time may not befast enough and one or more cards 200 may be subsequently displayed. Insuch a case, the user may manually backtrack to the desired card 200 byrepeatedly activating a suitable control on the remote control 108. Forexample, briefly pressing the “Forward” or “Backward” buttons 126, 128may result in the previous or next card 200, respectively, beingdisplayed. Alternatively, as described in greater detail below, the ITVsystem 100 may determine the delay between the user recognizing thedesired card 200 and taking the subsequent action, whereupon the ITVsystem 100 may compensate for that delay by reverting to apreviously-displayed card 200.

The user may select or activate the programming associated with thedisplayed card 200 by taking a selection action. For instance, the usermay press the “Select” button 124 on the remote control. Alternatively,the selection action may simply be waiting a set amount of time withoutactivating any controls on the remote control 108.

The effect of activating the card 200 will vary depending on the timeslot associated with the activated card 200. For instance, if at 7:45 pmon Jan. 20, 2002 card 200 n (representing, at such time, a livetelevision program) is selected, the GUI 110 may be replaced by afull-size version of the program described by text description 212 n.Alternatively, if at 7:45 pm on Jan. 20, 2002 card 200 r (representing,at such time, a television program to be broadcast in a later time slotby the represented network) is selected, the user may, via the GUI 110or otherwise, be offered the opportunity to record, by a personal videorecorder or other recording means, the program described by textdescription 212 r. Alternatively, if at 7:45 pm on Jan. 20, 2002 card200 o (representing, at such time, a television program broadcast in anearlier time by the represented network) is selected, the user may, viathe GUI 110 or otherwise, be offered the opportunity to view a recordedor otherwise stored version of the program described by text description212 o.

As shown in FIG. 7, multiple sequences 700 a-c of cards 200 may bedisplayed simultaneously within the GUI 110. For instance, one or morecards 200 n, 200 o, 200 r from a sequence 700 a representing both afirst television network and the television programs carried by thefirst television network may be displayed as described in reference toFIG. 6. In addition, one or more cards 200 s-u from a sequence 700 brepresenting both a second television network and the televisionprograms carried by the second television network may be displayed in acorresponding region (e.g., above the focus area 302) of the GUI 110. Inaddition, one or more cards 200 v-x from a sequence 700 c representingboth a third television network and the television programs carried bythe third television network may be displayed in a corresponding region(e.g., below the focus area 302) of the GUI 110. Each of the sequences700 a-c and their respective cards 200 may function, be structuredand/or interrelate in a manner identical to that of sequence 600 and itscards 200 described above. As shown in FIG. 7, a card 200 (in theillustrated example, card 200 n) displayed in the focus area 302 mayexpand, in terms of spatial dimension and/or displayed information, toshow, in addition to the text description 212, its associated channelnumber 204 and time slot 214 or any of the other card attributespreviously discussed. Of course, more or fewer sequences 700 may besimultaneously displayed as is practicable. Additionally, the characterof the graphical representations 202 associated withsimultaneously-displayed cards 200 need not be homogeneous. For example,the graphical representation 202 of a card 200 displayed in the focusarea 302 may depict a network, while the graphical representations 202of a card or cards 200 displayed outside of the focus area 302 maydepict a television program (and vice versa).

As shown in the embodiment illustrated in FIG. 7A, in response to one ormore user actions, the cards 200 o, 200 n, 200 r in the sequence 700 acan be successively displayed within the focus area 302 in a manneridentical to that of sequence 600 and its cards 200 described above. Thecards 200 s-u in the sequence 700 b and cards 200 v-x in the sequence700 c can be simultaneously successively displayed in order to betterinform the user of available viewing options.

For example, at 7:45 pm (as may be indicated by a clock 712 displayed ondisplay screen 104) on Jan. 20, 2002 each of cards 200 n, 200 t, 200 wrepresent live television programming respectively carried by therepresented television networks. Accordingly, at the exemplary 7:45 pmtime, card 200 n, for example, is displayed in the focus area 302, alongwith cards 200 t, 200 w which are displayed outside of the focus area302, in order to show the user the available television programming in a7:30-8:00 pm time slot. In an embodiment, the GUI 110 may include ananimated time slot indicator 714 that, in the illustrated example,outlines in boldface the time slot associated with the displayed cards,as well as outlining in phantom the preceding and succeeding contiguoustime slots. Of course, other formats, such as a simulated analog clock,may be used for indicator 714 in order to provide programming schedulecontext to the user.

The user may press, for example, the “Forward” button 126 (as indicatedby arrow 708) to simultaneously advance sequences 700 a-c ahead 30minutes, for example, to an 8:00-8:30 pm time slot. Such navigationenables the user to view available future programming represented by, inthe example of FIGS. 7 and 7A, cards 200 n, 200 u, 200 x representingtelevision programming respectively carried by the representedtelevision networks in the 8:00-8:30 pm time slot. The user may likewisepress, for example, the “Backward” button 128 (as indicated by arrow710) to simultaneously advance sequences 700 a-c back 30 minutes, forexample, to a 7:00-7:30 pm time slot. Such navigation enables the userto view potentially-available previous programming represented by, inthe example of FIGS. 7 and 7A, cards 200 o, 200 s, 200 v representingtelevision programming respectively carried by the representedtelevision networks in the 7:00-7:30 pm time slot.

As shown in the embodiment illustrated in FIG. 7B, in response to one ormore user actions, cards 200 of the sequences 700 a-c can besuccessively displayed within the focus area 302. Accordingly, thesequences 700 a-c may be regarded as being navigable in a sequence 700d. The cards 200 of the sequences 700 a-c in any past, present or futuretime slot can be navigated in order to allow the user to choose from theavailable viewing options.

For example, at 7:45 pm (as may be indicated by a clock 712 displayed ondisplay screen 104) on Jan. 20, 2002 each of cards 200 n, 200 t, 200 wrepresent live television programming respectively carried by therepresented television networks. Accordingly, at the exemplary 7:45 pmtime, card 200 n is displayed in the focus area 302, along with cards200 t, 200 w which are displayed outside of the focus area 302, in orderto show the user the available television programming in a 7:30-8:00 pmtime slot. As indicated by arrow 720, the user may press, for example,the “Up” button 116 to move card 200 w into the focus area 302, therebymoving card 200 n into a region above, for example, the focus area 302.Such navigation enables the user to select card 200 w. As indicated byarrow 718, the user may likewise press, for example, the “Down” button118 to move card 200 t into the focus area 302, thereby moving card 200n into a region below, for example, the focus area 302. Such navigationenables the user to select card 200 t.

As is similarly the case with sequence 600, if a card 200 representing alive television program is selected from any of sequences 700 a-c, theGUI 110 may be replaced by a full-size version of the program describedby the corresponding text description 212. Alternatively, if a card 200representing a television program to be broadcast at a future time isselected from any of sequences 700 a-c, the user may, via the GUI 110 orotherwise, be offered the opportunity to record, by a personal videorecorder or other recording means, the program described by thecorresponding text description 212. Alternatively, if a card 200representing a television program broadcast at an earlier time isselected from any of sequences 700 a-c, the user may, via the GUI 110 orotherwise, be offered the opportunity to view a recorded or otherwisestored version of the program described by the corresponding textdescription 212.

Referring to FIG. 8, a plurality of cards 200 may be arranged or groupedtogether in a package or sequence 800. In the illustrated embodiment,the cards 200 y, 200 z, 200 aa, 200 bb, 200 cc in the sequence 800represent a single television program (e.g., “JAG”), as indicated by thetext description 212 p, and the television network/station, as indicatedby the graphical representations 202 b, 202 p carrying the televisionprogram. In an alternative embodiment, the graphical representation 202b, 202 p depicting the television network/station represented by cards200 may be replaced by or supplemented with a graphical representation202 of the represented television program. The sequence 800 may begenerated, for example, through a search capability associated with ITVsystem 100 in response to a user-initiated search for a selection ofinstances in which the particular television program is broadcast. Sucha selection of which sequence 800 is comprised may include solely or anycombination of previously-, currently-, or to-be-broadcast episodes ofthe television program.

In response to one or more user actions, the cards 200 in the sequence800 are successively displayed within the focus area 302. Where thesequence 800 is circular, the successive display of cards 200 maycontinue indefinitely until halted by a subsequent action by the user,as described more fully herein.

The user action to initiate navigation may be pressing and releasing (orpressing and holding down) a button on the remote control 108. Forexample, the user may press the “Forward” button 126 repeatedly toeffectuate a corresponding card-by-card (i.e., episode-by-episode)navigation of sequence 800 in a first direction (indicated by arrow804). In the illustrated embodiment of FIG. 8, pressing the “Forward”button 126 once will, as indicated by arrow 808, supplant within thefocus area 302 the card 200 y with card 200 z representing a later timeslot 214 z, which may represent the next instance of a future broadcastof the television program. The user may likewise press the “Backward”button 128 repeatedly to effectuate a corresponding card-by-cardnavigation of sequence 800 in a second direction (indicated by arrow806). In the illustrated embodiment of FIG. 8, pressing the “Backward”button 128 once will, as indicated by arrow 810, supplant within thefocus area 302 the card 200 y with card 200 aa representing an earliertime slot 214 o, which may represent the most recent instance of aprevious broadcast of the television program. Of course, as is the casewith the sequences discussed above with reference to FIGS. 7-7B,sequence 800 may be simultaneously displayed with other sequences ofcards 200 within GUI 110.

As is similarly the case with sequence 600, if a card 200 representing alive television program is selected from sequence 800, the GUI 110 maybe replaced by a full-size version of the program described by thecorresponding text description 212. Alternatively, if a card 200representing a television program to be broadcast at a future time isselected from sequence 800, the user may, via the GUI 110 or otherwise,be offered the opportunity to record, by a personal video recorder orother recording means, the program described by the corresponding textdescription 212. Alternatively, if a card 200 representing a televisionprogram broadcast at an earlier time is selected from sequence 800, theuser may, via the GUI 110 or otherwise, be offered the opportunity toview a recorded or otherwise stored version of the program described bythe corresponding text description 212.

As shown in FIG. 9, multiple sequences 300 a-b including different typesof cards 200 may be displayed simultaneously. For instance, one or morecards 200 from a sequence 300 a representing television programs,networks and/or time slots may be displayed as described herein. Inaddition, one or more cards 200 from a sequence 300 b representinginteractive channels, applications, or digital media, may also bedisplayed.

As illustrated, the second sequence 300 b may be displayed horizontally,perpendicular to the first sequence 300 a, such that the sequences 300a-b intersect at (and define) the focus area 302. Any number ofsequences may be displayed on the GUI 110 simultaneously. Of course, theselection of vertical and horizontal for the sequences 300 a-b is merelyexemplary and not required.

In the depicted embodiment, the “Up” and “Down” buttons 116, 118 may beused to shift or cycle the vertically-displayed sequence 300 a withinthe GUI 110 in order to bring one of the corresponding cards 200 a-einto the focus area 302. Likewise, the “Left” and “Right” buttons 120,122 may be used to shift or cycle the horizontally-displayed sequence300 b to bring one of the corresponding cards 200 g-k into the focusarea 302.

In one implementation, bringing a card 200 from one sequence 300 intothe focus area 302 will determine or change which other sequence 300 isdisplayed. For example, bringing the card 200 h (TV representation) fromthe horizontal sequence 300 b into focus may result in the verticalsequence 300 a (television programs) being displayed. Alternatively,bringing the card 200 g (envelope representation) into focus may resultin a vertical sequence 300 (not shown) corresponding to e-mail messagesor contacts. Likewise, bringing the card 200 i (videophonerepresentation) into focus may result in a vertical sequence 300 of avideoconferencing buddy list, while the card 200 j (VCR representation)may display a vertical sequence 300 of television programs recorded by aPVR. In alternative embodiments, a selection from a vertical sequence300 may affect which horizontal sequence 300 is displayed.

As shown in FIG. 10, the intersection of two displayed sequences 300 a-bmay generate quadrants 1000 that may be used for various purposes. Inone embodiment, the quadrants 1000 are context-sensitive regions thatdisplay supplemental information, advertising, or the like, depending onthe card 200 in the focus area 302. In other embodiments, one or morequadrants 1000 may display information targeted to the user based onuser profile information within the ITV system 100.

In the depicted embodiment, the lower right quadrant 1000 a may containdetailed information about the card 200 being displayed in the focusarea 302. In the case of a card 200 representing a television program,the quadrant 1000 a may display information taken from the channelnumber 204, channel name or identifier 206, starting time 208, runningtime 210, and/or text description 212 associated with the card 200.

The upper right quadrant 1000 b may include context-sensitive,context-insensitive, or user-targeted information. For example, in anepisode of “3^(rd) Rock from the Sun” featuring Dick Solomon driving anew BMW, a corresponding advertisement may be shown. The advertisementmay be displayed in response to receipt of an ATVEF trigger, althoughother mechanisms may be used within the scope of the invention.

The upper left quadrant 1000 c may be used for branding purposes. Forinstance, as shown in FIG. 10, the quadrant 1000 c may show a logo for acable or satellite provider associated with the ITV system 100. Incertain implementations, the quadrant 1000 c may be context-sensitive,displaying branding corresponding to the particular vertical and/orhorizontal sequences 300 a-b or cards 200 being displayed.

Finally, the lower left quadrant 1000 d may be used to display systemnotes and instructional text. For example, where the user is navigatinga sequence 300 a of cards 200 corresponding to television programs,instructional text may be provided that prompts the user to select atelevision program.

The size of the quadrants 1000 may vary depending, for instance, on thelocation of the intersection of the displayed sequences 300 a-b. If theintersection is near the center of the GUI 110, the quadrants may beequal in size; otherwise, the relative sizes of the quadrants 1000 mayvary.

In alternative embodiments, a single vertical or horizontal sequence 300a-b may result in the creation of hemispheres (not shown) rather thanquadrants 1000. In still other embodiments, multiple vertical orhorizontal sequences 300 a-b may result in the creation of any number ofcontext-sensitive regions.

As illustrated in FIG. 11, different types of cards 200 may be includedwithin a single sequence 300. For example, cards 200 c-f may correspondto television programs, while card 200 m represents a purchaseopportunity. In the depicted embodiment, card 200 m includes a graphicalrepresentation 202 m (advertisement), as well as a link or networkaddress 1122, such as a uniform resource locator (URL), to a commercialwebsite.

If the card 200 m remains in the focus area 302 for a sufficiently longperiod, or if the user presses the “Select” button 124, the displayedsequence 300 may be replaced by a web browser 1124, which isautomatically directed to the network address 1122 associated with thecard 200 m. Thereafter, the user may elect to proceed with the purchaseopportunity or return to the displayed sequence 300 of cards 200.

Referring to FIG. 12, there are shown three timing diagrams 902, 904,906 illustrating the successive display of cards 200 according toembodiments of the invention. Each vertical line within the timingdiagrams represents a moment in time at which a particular card 200 isdisplayed. In diagram 902, after a single user action, cards 200 aresuccessively displayed at moments 906, 908, 910, and so on. When theuser takes some additional action to discontinue navigation, thesuccessive display of cards 200 may be halted at moment 912.

In certain instances, the ITV system 100 may automatically compensatefor the user's delayed response by reverting to a previously displayedcard 200 once the user halts the successive display. For example, if acard 200 representing a desired channel is displayed within the GUI 110at moment 912, but the user takes the additional action to discontinuenavigation at moment 914, the ITV system 100 may be configured toautomatically revert to the card 200 displayed a suitable amount of time916 before the action was taken. The amount of time may be preset oruser-defined, or may be calculated based on historical user reactiontimes.

The rate at which the cards 200 are successively displayed may beincreased in response to the user taking a suitable action. For example,as shown in timing diagram 904, the rate at which cards 200 aresuccessively displayed may gradually increase from a minimum rate 918 toa maximum rate 920 (preferably at or below the user's image recognitionlimit). Alternatively, as shown in timing diagram 906, the display ratemay increase from a minimum rate 922 to an intermediate rate 924 to amaximum rate 926 according to a stepwise function. The user action toincrease the display rate may take many forms, such as holding down abutton on the remote control 108 for a set amount of time. In such case,the rate may be increased based on how long the button is held down.Alternatively, the user may increase the display rate by repeatedlypressing a button on the remote control 108, in which case the rate maybe increased each time the button is pressed.

FIG. 13 is a schematic block diagram of an STB 106 according to anembodiment of the invention. The illustrated components may be logicalor physical and may be implemented using any suitable combination ofhardware, software, and/or firmware.

In one configuration, the STB 106 includes a network interface 1002 forcommunicating with a broadband network, such as a cable televisionnetwork or a DBS (Direct Broadcast Satellite) network. The networkinterface 1002 may conform to the DOCSIS (Data Over Cable ServiceInterface Specification) or DAVIC (Digital Audio-Visual Council) cablemodem standards. Additionally, the network interface 1002 may includestandard circuitry for receiving MPEG (Moving Picture Experts Group)streams including multiplexed television programs and data from thebroadband network. One or more sequences 300, 600, 700, 800 of cards 200may be received by the interface 1002 from a server accessible via thebroadband network or the Internet.

The STB 106 further includes a memory 1004, such as a random accessmemory (RAM) and/or read-only memory (ROM). The memory 1004 may store anoperating system (OS) for the STB 106 (e.g., Windows CE® or Linux®),application program code, and various types of data. In one embodiment,the memory 1004 stores one or more sequences 300, 600, 700, 800 of cards200. In other embodiments, the sequences 300, 600, 700, 800 may bestored within a mass storage device 1006, such as a hard disk drive,optical storage device, or the like.

An input interface 1008 may be provided for receiving commands from aninput device, such as a remote control 108. In one embodiment, the inputinterface 1008 may include or be associated with the wireless receiver114 described in connection with FIG. 1. The input interface 1008 maydetect a single user action for initiating navigation, such as the userpressing the “Up” or “Down” buttons 116, 118 on the remote control 108.

The STB 106 may further include a display interface 1010 for generatinga GUI 110 on an attached TV 102 or other display device. In addition,the display interface 1010 may be responsible for successivelydisplaying cards 200 from one or more stored sequences 300, 600, 700,800 in a focus area 302 of the GUI 110 in response to the single useraction being detected by the input interface 1008, as previouslydescribed. Likewise, the display interface 1010 may be responsible forhalting the successive display in response to detection of a subsequentuser action.

A tuner 1012 may be included for demodulating and demultiplexingselected MPEG streams received by the STB 106 from the broadbandnetwork. The tuner 1012 may be used to tune to a particular televisionprogram in response to a user selection of a card 200, e.g., in responseto the user pressing the “Select” button 124 or when the user “lingers”on a card 200 in the focus area 302.

A CPU 1014 controls the operation of the STB 106, including the othercomponents described above, which may be in electrical communicationwith the CPU 1014 via a bus 1016. The CPU 1014 may be embodied as amicroprocessor, a microcontroller, a digital signal processor (DSP) orother device known in the art. For instance, the CPU 1014 may beembodied as an Intel® x86 processor. The CPU 1014 may perform logicaland arithmetic operations based on program code stored within the memory1004 or the mass storage device 1006.

Although not shown in FIG. 13, the STB 106 may include other componentsthat allow the STB 106 to communicate with and/or control, via eitherwireless or other means, multiple televisions, personal computers, andother media storage and presentation devices within a network orlocation.

Of course, FIG. 13 illustrates only one possible configuration of an STB106. Those skilled in the art will recognize that various otherarchitectures and components may be provided within the scope of theinvention. In addition, various standard components are not illustratedin order to avoid obscuring aspects of the invention.

Referring to FIG. 14, there is shown a flowchart of a method 1100 forfocused navigation of a plurality of options within a GUI 110. Themethod 1100 begins by storing 1102 at least one of sequences 300, 600,700, 800 of cards 200 representing channels or other available optionswithin an ITV system 100.

In one configuration, the method 1100 waits 1104 for user input. When asingle user action is detected 1106, as previously discussed, the cards200 from the sequence 300, 600, 700, 800 are successively displayed 1108in a focus area 302 of the GUI 110. This successive display continuesuntil a subsequent user action is detected 1110, at which point thesuccessive display is discontinued and a single card 200 correspondingto a selected option is displayed 1112 within the focus area 302.

Thereafter, depending on the particular type of card 200, variousactions may be taken if the user actively selects the card 200 (e.g.,presses the “Select” button 124 on the remote control 108) or waitsbeyond an established time period to either select the card 200,continue navigation, or take some other action. For example, a card 200in the focus area 302 may be replaced by a video window 402 showing alive television program after a period of inaction (lingering) by theuser.

All of the above U.S. patents, U.S. patent application publications,U.S. patent applications, foreign patents, foreign patent applicationsand non-patent publications referred to in this specification and/orlisted in the Application Data Sheet, are incorporated herein byreference, in their entirety.

While specific embodiments and applications of the present inventionhave been illustrated and described, it is to be understood that theinvention is not limited to the precise configuration and componentsdisclosed herein. Various modifications, changes, and variationsapparent to those skilled in the art may be made in the arrangement,operation, and details of the methods and systems of the presentinvention disclosed herein without departing from the spirit and scopeof the invention.

1. A method for navigating options within a user interface presented ona display device, comprising: displaying a plurality of graphicalrepresentations of options in a first sequence along a first axis of theuser interface; enabling scrolling of the first sequence of graphicalrepresentations through a spatially-fixed focus area of the userinterface; in response to a graphical representation being scrolled intothe focus area, enlarging the graphical representation relative to theother graphical representations displayed along the first axis;displaying a second sequence of graphical representations of optionsalong a second axis of the user interface, the second axis beingperpendicular to the first axis; and enabling scrolling of the secondsequence of graphical representations along the second axis, wherein nographical representation of an option from the first sequence is alsoincluded in the second sequence.
 2. The method of claim 1, furthercomprising replacing the second sequence along the second axis with athird sequence along the second axis in response to a differentgraphical representation of an option from the first sequence beingscrolled into the focus area.
 3. The method of claim 1, wherein thegraphical representations of options in the first sequence respectivelyrepresent different application programs.
 4. The method of claim 1,wherein the graphical representations of options in the first sequencerespectively represent different types of media.
 5. The method of claim1, wherein the graphical representations of options in the secondsequence respectively represent different television programmingsources.
 6. The method of claim 1, wherein the graphical representationsof options in the second sequence respectively represent differenttelevision programs.
 7. The method of claim 1, wherein scrolling of thefirst sequence is initiated by first user action and proceeds untilbeing terminated by a second user action.
 8. The method of claim 1,wherein the graphical representations of options from the secondsequence respectively represent television programming sources in aparticular broadcast time slot, the method further comprising replacingthe second sequence with a third sequence in response to a single usercommand, each graphical representation of an option of the thirdsequence representing television programming sources in a progressivelylater broadcast time slot.
 9. The method of claim 1, wherein thegraphical representations of options of the first sequence representselectable categories of options and wherein the graphicalrepresentations of options of the second sequence represent options froma selected category.
 10. The method of claim 1, wherein the first andsecond sequences intersect to form quadrants within the user interface,the method further comprising displaying, in at least one of thequadrants formed by the intersecting sequences, supplemental informationrelated to the graphical representation within the focus area.
 11. Asystem for navigating a options within a user interface presented on adisplay device, comprising: a user input detector configured to detectinput of a user; and a processor, coupled to the user input detector,configured to scroll a first sequence of graphical representations ofoptions along a first axis through a spatially-fixed focus area of theuser interface in response to a first user input, wherein the processoris further configured to enlarge the graphical representation in thefocus area relative to the other graphical representations in the firstsequence, and wherein the processor is further configured to scroll asecond sequence of graphical representations of options along a second,perpendicular axis through the focus area in response to a second userinput, the first and second sequences having no graphicalrepresentations in common.
 12. The system of claim 11, wherein theprocessor is further configured to replace the second sequence ofgraphical representations of options along the second axis with a thirdsequence of graphical representations of options along the second axisin response to a different graphical representation of an option fromthe first sequence being scrolled by the user into the focus area. 13.The system of claim 11, wherein the graphical representations of optionsin the first sequence respectively represent different applicationprograms.
 14. The system of claim 11, wherein the graphicalrepresentations of options in the first sequence respectively representdifferent types of media.
 15. The system of claim 11, wherein thegraphical representations of options in the second sequence respectivelyrepresent different television programming sources.
 16. The system ofclaim 11, wherein the graphical representations of options in the secondsequence respectively represent different television programs.
 17. Thesystem of claim 11, wherein the graphical representations of optionsfrom the second sequence respectively represent television programmingsources in a particular broadcast time slot, and wherein the processoris further configured to replace the second sequence with a thirdsequence in response to a single user command, each graphicalrepresentation of an option of the third sequence representingtelevision programming sources in a progressively later broadcast timeslot.
 18. The system of claim 11, wherein the graphical representationsof options of the first sequence represent selectable categories ofoptions and wherein the graphical representations of options of thesecond sequence represent options from a selected category.
 19. Thesystem of claim 11, wherein the first and second sequences intersect toform quadrants within the user interface, and wherein the processor isfurther configured to display, in at least one of the quadrants formedby the intersecting sequences, supplemental information related to thegraphical representation within the focus area.
 20. An apparatus fornavigating a plurality of options within a user interface, comprising:means for displaying a plurality of graphical representations of optionsin a first sequence along a first axis of the user interface; means forscrolling of the first sequence of graphical representations through aspatially-fixed focus area of the user interface; means for enlarging agraphical representation being scrolled into the focus area relative tothe other graphical representations displayed along the first axis;means for displaying a second sequence of graphical representations ofoptions along a second axis of the user interface, the second axis beingperpendicular to the first axis; and means for scrolling of the secondsequence of graphical representations along the second axis, wherein nographical representation of an option from the first sequence is alsoincluded in the second sequence.
 21. A computer-readable storage mediumcomprising program code for performing a method for navigating aplurality of options within a user interface, the method comprising:displaying a plurality of graphical representations of options in afirst sequence along a first axis of the user interface; enablingscrolling of the first sequence of graphical representations through aspatially-fixed focus area of the user interface; in response to agraphical representation being scrolled into the focus area, enlargingthe graphical representation relative to the other graphicalrepresentations displayed along the first axis; displaying a secondsequence of graphical representations of options along a second axis ofthe user interface, the second axis being perpendicular to the firstaxis; and enabling scrolling of the second sequence of graphicalrepresentations along the second axis, wherein no graphicalrepresentation of an option from the first sequence is also included inthe second sequence.